95 research outputs found
Resolving zero-divisors using Hensel lifting
Algorithms which compute modulo triangular sets must respect the presence of
zero-divisors. We present Hensel lifting as a tool for dealing with them. We
give an application: a modular algorithm for computing GCDs of univariate
polynomials with coefficients modulo a radical triangular set over the
rationals. Our modular algorithm naturally generalizes previous work from
algebraic number theory. We have implemented our algorithm using Maple's RECDEN
package. We compare our implementation with the procedure RegularGcd in the
RegularChains package.Comment: Shorter version to appear in Proceedings of SYNASC 201
High performance SIMD modular arithmetic for polynomial evaluation
Two essential problems in Computer Algebra, namely polynomial factorization
and polynomial greatest common divisor computation, can be efficiently solved
thanks to multiple polynomial evaluations in two variables using modular
arithmetic. In this article, we focus on the efficient computation of such
polynomial evaluations on one single CPU core. We first show how to leverage
SIMD computing for modular arithmetic on AVX2 and AVX-512 units, using both
intrinsics and OpenMP compiler directives. Then we manage to increase the
operational intensity and to exploit instruction-level parallelism in order to
increase the compute efficiency of these polynomial evaluations. All this
results in the end to performance gains up to about 5x on AVX2 and 10x on
AVX-512
The Design of Maple's Sum-of-Products and POLY Data Structures for Representing Mathematical Objects
How to program with formulas in Maple: Formulas in Maple
Maple's main strength is its ability to compute with mathematical formulasand not just with numbers. It can multiply and factor, differentiate and integrate, and simplify formulas. In this article, using differentiation as an example, I explain how to program with formulas in Maple. The key is the data representation that Maple uses for a formula and the operations Maple provides for operating on formulas. I will also discuss Automatic Differentiation as an alternative which differentiates programs
Maximal quotient rational reconstruction: an almost optimal algorithm for rational reconstruction
Let n/d â Q, mbe a positive integer and let u = n/d mod m. Thus u is the image of a rational number modulo m. The rational reconstruction problem is; given u and m find n/d. A solution was first given by Wang in 1981. Wangâs algorithm outputs n/d when m>2M 2 where M =max(|n|,d). Because of the wide application of this algorithm in computer algebra, several authors have investigated its practical efficiency and asymptotic time complexity. In this paper we present a new solution which is almost optimal in the following sense; with controllable high probability, our algorithm will output n/d when m is a modest number of bits longer than 2|n|d. This means that in a modular algorithm where m is a product of primes, the modular algorithm will need one or two primes more than the minimum necessary to reconstruct n/d; thusif|n | âȘd or d âȘ|n| the new algorithm saves up to half the number of primes. Further, our algorithm will fail with high probability when m<2|n|d
A new edge selection heuristic for computing the Tutte polynomial of an undirected graph
Abstract. We present a new edge selection heuristic and vertex ordering heuristic that together enable one to compute the Tutte polynomial of much larger sparse graphs than was previously doable. As a specific example, we are able to compute the Tutte polynomial of the truncated icosahedron graph using our Maple implementation in under 4 minutes on a single CPU. This compares with a recent result of Haggard, Pearce and Royle whose special purpose C++ software took one week on 150 computers. RĂ©sumĂ©. Nous prĂ©sentons deux nouvelles heuristiques pour le calcul du polynĂŽme de Tutte de graphes de faible densitĂ©, basĂ©es sur les principes de sĂ©lection dâarĂȘtes et dâarrangement linĂ©aire de sommets, et qui permettent de traiter des graphes de bien plus grande tailles que les mĂ©thodes existantes. Par exemple, en utilisant notre implĂ©mentation en Maple, nous pouvons calculer le polynĂŽme de Tutte de lâisocahĂ©dron tronquĂ© en moins de 4 minutes sur un ordinateur Ă processeur unique, alors quâun programme ad-hoc rĂ©cent de Haggard, Pearce et Royle, utilisant 150 ordinateurs, a nĂ©cessitĂ© une semaine de calcul pour obtenir le mĂȘme rĂ©sultat
Probabilistic Algorithms for Computing Resultants
Let A and B be two polynomials in  [x,y] and let R = resx(A, B) denote the resultant of A and B taken wrt x. In this paper we modify Collins â modular algorithm for computing R to make it output sensitive. The advantage of our algorithm is that it will be faster when the bounds needed by Collins â algorithm for the coefficients of R and for the degree of R are inaccurate. Our second contribution is an output sensitive modular algorithm for computing the monic resultant in ÂĄ [y]. The advantage of this algorithm is that it is faster still when the resultant has a large integer content. Both of our algorithms are necessarily probabilistic. The paper includes a number of resultant problems that motivate the need to consider such algorithms. We have implemented our algorithms in Maple. We have also implemented Collins â algorithm and the subresultant algorithm in Maple for comparison. The timings we obtain demonstrate that a good speedup is obtained
In-place arithmetic for polynomials over Zn
monagan~inf.ethz.ch Abstract. We present space and time efficient algorithms for univariate polynomial arithmetic operations over Z mod n where the modulus n does not necessarily fit into is not a machine word. These algorithms provide the key tools for the efficient implementation of polynomial resultant gcd and factorization computation over Z, without having to write large amounts of code in a systems implementation language.
Parallel Algorithms for Polynomials
I propose to work on the following problems in this area
- âŠ